package com.softao.ming.gde.core.model;

/**
 * Processing the <code>META-INF/MANIFEST.MF</code> file.
 */
public interface IBundleManifestFile {
	/**
	 * @return <code>true</code> if the bundle is a source bundle; 
	 * otherwise, it's normal bundle.
	 */
	public boolean isSourceBundle();
	
	/**
	 * @return the compound id of this bundle.
	 */
	public String getBundleUniqueIdentifier();
	
	/**
	 * @return the version definition of this bundle.
	 */
	public IBundleVersion getBundleVersion();
	
	/**
	 * @param key
	 * @return <code>true</code> if the <code>key</code> is defined inside the
	 *         manifest file; otherwise, <code>false</code>.
	 */
	public boolean contains(String key);

	/**
	 * @param key
	 * @return the value for for the specified <code>key</code>.
	 *         <code>null</code> if not specified.
	 */
	public String get(String key);
}
